home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Mac Magazin/MacEasy 19
/
Mac Magazin and MacEasy Magazine CD - Issue 19.iso
/
Wissenschaft & Technik
/
BibTeX ƒ
/
Source code
/
bibtex.h
< prev
next >
Wrap
C/C++ Source or Header
|
1996-02-13
|
4KB
|
158 lines
#pragma once
/*
* Main include file for BibTeX in C.
*
* Tim Morgan 2/15/88
* Eduardo Krell 4/21/88
*/
#if (__STDC__ || defined(__cplusplus))
#define STDC 1
#else
#define STDC 0
#endif
#include "CBibtexApp.h"
#include "bibutils.h"
typedef FileDesc BIBFILE;
#include <setjmp.h>
/*
* The type "schar" should be defined here to be the smallest signed
* type available. ANSI C compilers may need to use "signed char".
* If you don't have signed characters, then use "short".
*/
typedef char schar;
/*
* The type "integer" must be a signed integer capable of holding at
* least the range of numbers (-2^31)..(2^32-1).
* The ANSI draft C standard says that "long" meets this requirement.
*/
typedef long integer;
/* Boolean can by any convenient type */
typedef char boolean;
/*
* The type glueratio should be a floating-point type which won't
* unnecessarily increase the size of the memoryword structure.
* If you're building a normal-sized TeX, then it must meet
* the following restriction: sizeof(glueratio) <= sizeof(integer).
* But if you build a BIG TeX, you can and should change this to
* double to avoid loss of precision and conversions to and from
* double during calculations.
*/
typedef float glueratio;
/* Real can by any convenient floating-point type */
typedef double real;
/* TeX search paths: This is what we use on macs. */
#define TEXINPUTS "."
/* Fix so we don't actually call exit() for ok conditions */
#define exit LocalExit
/*
* The maximum length of a filename including a directory specifier.
* This value is also defined in the change files for tex and mf, so
* it appears in texd.h and mfd.h as "filenamesize". It can be safely
* changed in these files if necessary, although you should really edit
* the files tex/ctex.ch and mf/cmf.ch. Most sites should not have to
* change this value anyway, since it doesn't hurt much if it's too large.
* If you change it here, then change it in both the changefiles to match!
*/
#define FILENAMESIZE 1024
#undef STAT
#undef DEBUG
extern char *strncpy();
typedef BIBFILE *file_ptr;
typedef BIBFILE *palphafile;
#define incr(x) ++(x)
#define decr(x) --(x)
extern int testaccess();
#define true 1
#define false 0
#define rewrite(f,n) f = openf(n, "w")
#define reset(f,n) f = openf(n, "r")
#define aclose(f) if (f) (void) fclose(f)
#define chr(x) (x)
extern void lineread(), setpaths();
#define readln(f) {register c; while ((c=getc(f))!='\n' && c!=EOF); }
extern BIBFILE *openf();
#define uexit(x) exit((int) (x))
#define Fputs(stream, s) (void) fputs(s, stream)
/* Changed by Vince */
//#define printstr(s,c) fprintf(logfile,"%s%c",s,c);fprintf(stdout,"%s%c",s,c)
#define printstr(s,c) { \
(void)FPrintFStdErr( s,c); \
(void)FPrintF(logfile,s,c);\
}
//#define eof(f) feof(f)
#define eof(f) FEof(f)
/* Added by Vince */
extern void LocalExit(int);
#define bufsize 3000
#define minprintline 3
#define maxprintline 79
#define auxstacksize 20
#define maxbibfiles 20
#define poolsize 65530L
#define maxstrings 4000
#define maxcites 750
#define mincrossrefs 2
#define wizfnspace 3000
#define singlefnspace 100
#define maxentints 3000
#define maxentstrs 3000
#define entstrsize 100
#define globstrsize 1000
#define maxfields 17250
#define litstksize 100
#define numbltinfns 37
typedef schar ASCIIcode ;
typedef schar lextype ;
typedef schar idtype ;
/* We're using Mac i/o so we change this */
//typedef file_ptr alphafile ;
typedef FileDescPtr alphafile;
typedef integer bufpointer ;
typedef ASCIIcode *buftype;
typedef integer poolpointer ;
typedef integer strnumber ;
typedef short hashloc ;
typedef short hashpointer ;
typedef schar strilk ;
typedef schar pdsloc ;
typedef schar pdslen ;
typedef char pdstype [13] ;
typedef integer auxnumber ;
typedef integer bibnumber ;
typedef integer citenumber ;
typedef schar fnclass ;
typedef integer wizfnloc ;
typedef integer intentloc ;
typedef integer strentloc ;
typedef schar strglobloc ;
typedef integer fieldloc ;
typedef short hashptr2 ;
typedef integer litstkloc ;
typedef schar stktype ;
typedef integer bltinrange ;
/*
* Externals for directory search stuff ... jdl
*/
extern FSSpec Folders[3];
extern FInfo AuxFileInfo;
/* done ... jdl */